1. Field of the Invention
This invention relates to communication path determination techniques. More particularly, this invention relates to methods for determining communication paths between devices where multiple coupling mechanisms are implicated.
2. The Prior Art
The IEEE 1394 multimedia bus standard is to be the “convergence bus” bringing together the worlds of the PC and digital consumer electronics. It is readily becoming the digital interface of choice for consumer digital audio/video applications, providing a simple, low-cost and seamless plug-and-play interconnect for clusters of digital A/V devices, and it is being adopted for PCs and peripherals.
The original specification for 1394, called IEEE 1394-1995, supported data transmission speeds of 100 to 400 Mbits/second. Most consumer electronic devices available on the market have supported either 100 or 100/200 Mbits/second; meaning that plenty of headroom remains in the 1394 specification. However, as more devices are added to a system, and improvements in the quality of the A/V data (i.e., more pixels and more bits per pixel) emerge, a need for greater bandwidth and connectivity flexibility has been indicated.
The 1394a specification (pending approval) offers efficiency improvements, including support for very low power, arbitration acceleration, fast reset and suspend/resume features. However, not all devices meet the 1394 specification and not all devices communicate by way of the same protocols.
In distributed driver architectures, multiple communication paths may sometimes be available for controlling a remote device. For example, a 1394 and RS-232 serial connection may exist between two nodes implementing a distributed driver architecture. In order to determine the best connection to use, an application has to be able to determine the communication path of each connection.
Old methods of distributed driver architectures (e.g., the Home Audio/Video interoperability, or HAVi, architecture) do not provide any means of ascertaining the communication path used to access a remote device. Only an ID is given for the end device. In the case where two communication paths are available, some implementations may provide two distinct IDs but no means for determining the communication path used for each ID.